#include <string>
#include <iostream>
#include <map>

int main()
{

    std::map<int, std::string> str_table = {{1, ",."},
                                            {2, "abc"},
                                            {3, "def"},
                                            {4, "ghi"},
                                            {5, "jkl"},
                                            {6, "mno"},
                                            {7, "pqrs"},
                                            {8, "tuv"},
                                            {9, "wxyz"},
                                            {0, " "}};
    bool mode = true;
    std::string iss;
    std::cin >> iss;

    std::string oss;
    int i = 0;
    int repeat = 0;
    char prevc = '\0';
    while (i < iss.size())
    {
        if (iss[i] == '#')
        {
            if (!mode)
            {
                if (prevc == '/' || prevc == '\0')
                {
                }
                else
                {
                    int id = prevc - '0';
                    repeat = (repeat - 1) % str_table[id].size();
                    oss.push_back(str_table[id][repeat]);
                }
            }
            mode = !mode;
        }
        else
        {
            if (mode)
            {
                if (std::isdigit(iss[i]))
                    oss.push_back(iss[i]);
            }
            else
            {
                if (iss[i] == prevc)
                {
                    repeat++;
                }
                else
                {
                    if (prevc == '/' || prevc == '\0')
                    {
                        prevc = iss[i];
                        repeat = 1;
                    }
                    else
                    {
                        int id = prevc - '0';
                        repeat = (repeat - 1) % str_table[id].size();
                        oss.push_back(str_table[id][repeat]);
                        prevc = iss[i];
                        repeat = 1;
                    }
                }
            }
        }
        i++;
    }

    if (!mode)
    {
        if (prevc == '/' || prevc == '\0')
        {
        }
        else
        {
            int id = prevc - '0';
            repeat = (repeat - 1) % str_table[id].size();
            oss.push_back(str_table[id][repeat]);
        }
    }
    std::cout << oss << std::endl;

    return 0;
}